package hust.music.service;

import hust.music.entity.File;
import hust.music.entity.Message;
import hust.music.entity.Music;
import hust.music.entity.User;
import java.util.*;
import hust.music.entity.Label;
import hust.music.entity.Comment;
import hust.music.util.DynamicInfo;

/**
 * MusicModService
 * 
 * @author Txazo
 * @since 1.0
 */
public interface MusicModService {

	/**
	 * 上传音乐
	 * 
	 * @param music 音乐
	 * @param user 用户
	 * @param file 文件
	 * @param styles 流派
	 * @return true
	 */
	public boolean uploadMusic(Music music, User user, File file,
			String[] styles);

	public Music findMusic(Integer id);

	public List<Music> display_time(Music music);

	public List<Music> display_listenTimes(Music music);

	public List<Music> display_mark(Music music);

	public List<Music> display_label(Label label);

	public Music music_item1(int id);

	public List<DynamicInfo> getComments(int id, int firstResult, int maxResult);

	public int getTotalComments(int id);

	public boolean addComment(Comment c, int id, User user);

	public int addListen(int id);

	public int mark(int id, int mark);

	public boolean addMessage(Message m, User u, Integer uid);
	
	public User getUploader(Integer id);
}
